module.exports = {
  mode: 'development',
  module: {
    // 模块
    // 可以匹配到多个规则
    // loaders 的运行顺序是 4 3 2 1

    // 匹配是从上往下 匹配到  将 loader1 loader2 加入数组
    // 再将 loader3 loader4 加入数组
    // 然后 最最后运行时 数组从又右 往左运行
    rules: [
      // 对每个模块的匹配规则
      {
        test: /index\.js$/, //正则表达式，匹配模块的路径
        use: ['./loaders/loader1', './loaders/loader2'], //匹配到了之后，使用哪些加载器
      }, //规则1
      {
        test: /\.js$/, //正则表达式，匹配模块的路径
        use: ['./loaders/loader3', './loaders/loader4'], //匹配到了之后，使用哪些加载器
      }, //规则2
      {
        test: /index\.js$/, //正则表达式，匹配模块的路径
        use: [
          //匹配到后应用的规则模块
          {
            //其中一个规则
            loader: '模块路径？a=b', //loader模块的路径，该字符串会被放置到require中
            options: {
              // a=b 也可以当做参数
              //向对应loader传递的额外参数
              // loader 函数中 通过this 上下文 获取 options的配置信息 可以通过第三方库 去方便解析出来
            },
          },
        ],
      },
    ], //模块的匹配规则
  },
};
